\section{Interface Expectations}\label{interface-expectations}

The input-output interfaces may be combined into a single program or may be available separately.~ The following attributes are expected from these interfaces.

\subsection{Input Interface Attributes}\label{input-interface-attributes}

The input interface agents will be expected to fulfill two main requirements:

\begin{itemize}
\item
  Ability to produce the input file for the simulation.
\item
  Perform the consistency and value checks necessary to assure that the input file conforms to EnergyPlus requirements.
\end{itemize}

Additionally, the input interface agent might:

\begin{itemize}
\item
  Ability to warn users about potential output file size.~ It is expected that the data files generated by the EnergyPlus program will be significantly larger than the output files from its parent programs.~ As a result, users may be unaware that selecting too many reports could lead to enormous output files.~ It is recommended that some sort of checking be done to alert users when the term of the simulation and the number of reports selected eclipse some reasonable file size limit.
\item
  Ability to perform parametric runs.
\end{itemize}

The method used by the input interface agent to accomplish these goals is left to the discretion of the interface developer.

\subsection{Post-processing Interface Attributes}\label{post-processing-interface-attributes}

The post-processing agents will be expected to fulfill the main requirement:

\begin{itemize}
\tightlist
\item
  Ability to read all or selected output formats.
\end{itemize}

Additionally, a post-processing agent might:

\begin{itemize}
\item
  Ability to combine and summarize data (average, peak, total, etc.) and produce the various text and graphical reports requested by the user.
\item
  Ability to handle multiple output files.
\end{itemize}

The method used by the post-processing agent to accomplish these goals is left to the discretion of the interface developer.
